package com.mes.cloud.dto;

import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import java.io.Serializable;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;

/**
 * @description: 员工树
 * @author: syn
 * @create: 2019-11-07
 **/
@ApiModel(value = "UserTreeDTO", description = "员工树")
@Data
public class UserTreeDTO extends BaseDto implements Serializable {

    @ApiModelProperty(value = "ID", dataType = "Long")
    private Long id;

    private String pwd;
    /**
     * 用户编号
     */
    @ApiModelProperty(value = "用户编号", dataType = "String")
    private String userNo;
    /**
     * 员工姓名
     */
    @ApiModelProperty(value = "员工姓名", dataType = "String")
    private String name;
    /**
     * 联系电话
     */
    @ApiModelProperty(value = "联系电话", dataType = "String")
    private String phone;
    /**
     * 邮箱
     */
    @ApiModelProperty(value = "邮箱", dataType = "String")
    private String email;

    /**
     * 角色
     */
    @ApiModelProperty(value = "角色", dataType = "Long")
    private Long roleId;
    /**
     * 主要职位
     */
    @ApiModelProperty(value = "主要职位", dataType = "Long")
    private Long mainPostId;
    /**
     * 主要组织
     */
    @ApiModelProperty(value = "主要组织", dataType = "Long")
    private Long mainOrgId;

    /**
     *
     */
    @ApiModelProperty(value = "创建时间", dataType = "Date")
    private Date crtdate;

    /**
     *
     */
    @ApiModelProperty(value = "修改时间", dataType = "Date")
    private Date upddate;
    /**
     * 描述
     */
    @ApiModelProperty(value = "描述", dataType = "String")
    private String remark;
    /**
     *
     */
    @ApiModelProperty(value = "0正常/1删除", dataType = "Integer")
    private Integer isDelete;
    /**
     *
     */
    @ApiModelProperty(value = "0正常/1禁用", dataType = "Integer")
    private Integer isEnable;

    //状态：01在职 02离职
    @ApiModelProperty(value = "状态01在职 02离职", dataType = "String")
    private String status;

    //员工类型：01正式员工、02非正式员工
    @ApiModelProperty(value = "类型01正式员工、02非正式员工", dataType = "String")
    private String userType;

    @ApiModelProperty(value = "类型", dataType = "String")
    private String userAlias;

    @ApiModelProperty(value = "Base地区", dataType = "String")
    private String baseAddr;

    @ApiModelProperty(value = "数据来源", dataType = "String")
    private String dataSource;

    @ApiModelProperty(value = "上级组织", dataType = "String")
    private String parentId;

    @ApiModelProperty(value = "组织名称", dataType = "String")
    private String orgName;


    private List<UserTreeDTO> children = new ArrayList<UserTreeDTO>();
}
